<?php

namespace app\common\model\Subject;

use think\Model;

// 引入软删除
use traits\model\SoftDelete;

/**
 * 课程订单模型
 */
class Order extends Model
{
    //使用软删除
    use SoftDelete;
    //设置软删除字段
    protected $deleteTime = 'deletetime';
    protected $table = 'pre_subject_order';

    protected $autoWriteTimestamp = true;

    protected $createTime = 'createtime';

    protected $updateTime = false;

    protected $append = [
        'comment_text',  // 评价
    ];

    public function getCommentTextAttr($value, $data)
    {
        $status = false;

        $comment = model('Subject.Comment')->where(['busid' => $data['busid'], 'subid' => $data['subid']])->find();

        if ($comment) {
            $status = true;
        }

        return $status;
    }


    // 关联查询（根据业务需求）
    public function subject()
    {
        /* 
             belongsTo 相应关联查询
                 第一个参数 model => 需要关联模型
                 第二个参数 foreignKey => 外键
                 第三个参数 locaKey => 主键
                 第四个参数 alias => 模型别名
                 第五个参数 joinType => 链表查询（LEFT，INNER，RIGHT）
 
             setEagerlyType 设置预载入方法
                 0 => JOIN查询
                 1 => IN查询
         */
        return $this->belongsTo('app\common\model\Subject\Subject', 'subid', 'id', [], 'LEFT')->setEagerlyType(0);
    }

    // 关联查询（根据业务需求）
    public function business()
    {
        return $this->belongsTo('app\common\model\Business\Business', 'busid', 'id', [], 'LEFT')->setEagerlyType(0);
    }
}
